'''
Created on 2020年3月4日

@author: yinfs
'''
import configparser

class Config(object):
    '''
    获取配置文件信息
    '''
    def __init__(self):
        '''
                        初始化参数，读取配置文件
        '''
        try:
            self.conf = configparser.ConfigParser()
            self.conf.read('config.ini', encoding='GBK')
#             self.conf.read('config.ini', encoding='utf-8')
        except Exception as e:
            print('错误类型： ', e)
    
    def get_config_section(self):
        '''
                     获取ini文件内所有的section，以列表形式返回['logging', 'mysql']
        :return: 返回数据列表
        '''
        try:
            sections = self.conf.sections()
            return sections
        except Exception as e:
            print('错误类型： ', e)
        
    def get_config_options(self,sections):
        '''
                        获取指定sections下所有options ，以列表形式返回['host', 'port', 'user', 'password']
         :return 数据列表
        '''
        try:
            options = self.conf.options(sections)
            return options
        except Exception as e:
            print('错误类型： ', e)
    
    def get_config_items(self,sections):
        '''
                    获取指定section下所有的键值对，[('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'),
        :return 
        '''
        try:
            items  = self.conf.items(sections)
            return items
        except Exception as e:
            print('错误类型： ', e)
    
    def get_config_values(self,sections,items):
        '''
                     获取指定section,items 下的对应的值，返回str leixing
        :return 
        '''
        value = ''
        try:
            value  = self.conf.get(sections, items)
            
        except Exception as e:
            print('错误类型： ', e)
        return value
        
            